/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.unipar.oficina.controle.cadastros;

import br.com.unipar.oficina.modelo.cadastros.*;
import br.com.unipar.oficina.service.cadastros.GrupoService;
import java.io.IOException;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.inject.Named;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

/**
 *
 * @author Thiago Marques
 */
@Controller
@Scope("request")
@Named("grupoBean")
public class GrupoBean {

    private final GrupoService grupoService;
    private Grupo grupo = new Grupo();
    private List<Grupo> grupos;
    private String nomeGrupo;

    @Autowired
    public GrupoBean(GrupoService grupoService) {
        this.grupoService = grupoService;
    }


    public String novo() {
        grupo = new Grupo();
        return "/gestao/grupoForm.jsf";
    }

    public void salvar(ActionEvent event) {
        try {
            grupoService.salvar(grupo);
            FacesContext.getCurrentInstance().getExternalContext().redirect("grupoLista.jsf");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    public String editar() {
        return "/gestao/grupoForm.jsf";
    }

    public void consultar(ActionEvent event) {
        grupos = grupoService.consultar(nomeGrupo);
    }

    public void excluir() {
        grupoService.excluir(grupo);
        grupos.remove(grupo);
    }

    public Grupo getGrupo() {
        return grupo;
    }

    public void setGrupo(Grupo grupo) {
        this.grupo = grupo;
    }

    public List<Grupo> getGrupos() {
        return grupos;
    }

    public void setGrupos(List<Grupo> grupos) {
        this.grupos = grupos;
    }

    public String getNomeGrupo() {
        return nomeGrupo;
    }

    public void setNomeGrupo(String nomeGrupo) {
        this.nomeGrupo = nomeGrupo;
    }

    
    

}